<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of orden
 *
 * @author Agustin
 */
require_once 'persistenciaOrden.php';

class Orden {

    var $numero;
    var $fecha;
    var $manoObra;
    var $fechaCarta;
    var $fechaPago;
    var $observaciones;
    var $precio;
    var $numeroCarta;
    var $otros;
    var $materiales;
    var $descripcion;
    var $estado;
    var $reclamo;
    var $cliente;
    var $lugar;
    var $funcionarios = array();
    var $pareja;
    var $nombreCarta;
    var $pagada;
    var $moneda;
    var $controlada;
    var $contacto;
    var $calendario;
    var $usuario;

    public function __construct($datos) {
        if (!is_null($datos)) {
            $this->numero = $datos[0];
            $this->fecha = $datos[1];
            $this->manoObra = $datos[2];
            $this->fechaCarta = $datos[3];
            $this->fechaPago = $datos[4];
            $this->observaciones = $datos[5];
            $this->precio = $datos[6];
            $this->numeroCarta = $datos[7];
            $this->otros = $datos[8];
            $this->materiales = $datos[9];
            $this->descripcion = $datos[10];
            $this->estado = $datos[11];
            $this->reclamo = $datos[12];
            $this->cliente = $datos[13];
            $this->lugar = $datos[14];
            $this->funcionarios = $datos[15];
            $this->pareja = $datos[16];
            $this->nombreCarta = $datos[17];
            $this->pagada = $datos[19];
            $this->moneda = $datos[20];
            $this->controlada = $datos[21];
            $this->contacto = $datos[22];
            $this->calendario = $datos[23];
            $this->usuario = $datos[24];
        }
    }

    public function crearOrden() {
        try {
            $pO = PersistenciaOrden::getInstance();
            $datos = array($this->fecha, $this->manoObra, $this->fechaCarta, $this->fechaPago, $this->observaciones,
                $this->precio, $this->numeroCarta, $this->otros, $this->materiales, $this->descripcion, $this->estado, $this->reclamo[0], $this->cliente[0],
                $this->lugar[0], $this->funcionarios, $this->pareja, $this->nombreCarta, $this->pagada, $this->moneda, $this->controlada, $this->contacto, $this->calendario, $this->usuario);
            $pO->crearOrden($datos);
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function traerOrdenes($numero) {
        try {
            $pO = PersistenciaOrden::getInstance();
            $ordenes = $pO->traerOrdenes($numero);
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function actualizarOrden() {
        try {
            $pO = PersistenciaOrden::getInstance();
            $datos = array($this->manoObra, $this->fechaCarta, $this->fechaPago, $this->observaciones,
                $this->precio, $this->numeroCarta, $this->otros, $this->materiales, $this->descripcion, $this->estado,
                $this->reclamo[0], $this->cliente[0],
                $this->lugar[0], $this->funcionarios, $this->pareja, $this->nombreCarta, $this->pagada, $this->moneda, $this->controlada, $this->contacto, $this->calendario, $this->usuario, $this->numero);
            $pO->crearOrden($datos);
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

//    public function __toString() {
////        return $this->numero;
//    }
}

?>
